package com.zcsy.manage.service.mall;

import java.util.List;

import com.zcsy.manage.model.mall.GoodsCategory;

public interface IGoodsCategoryService {


	/**
	 * @Description 插入商品分类类型<br>
	 * 
	 * @param goodsCategory 商品分类对象
	 * @return 插入结果： 1、成功，0、失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月12日
	 * @see 
	 */
	int insert(GoodsCategory goodsCategory);
	
	/**
	 * @Description 更新商品分类<br>
	 * 
	 * @param goodsCategory 商品分类对象
	 * @return 操作结果  1、成功，0、失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月12日
	 * @see 
	 */
	int update(GoodsCategory goodsCategory);
	
	/**
	 * @Description 根据ID删除商品分类<br>
	 * 
	 * @param id 商品分类ID
	 * @return  操作结果： 1、成功，0、失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月12日
	 * @see 
	 */
	int deleteByPrimaryKey(String id);
	
	/**
	 * @Description 根据ID获取商品分类信息<br>
	 * 
	 * @param id 商品分类ID
	 * @return 商品分类对象
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月12日
	 * @see 
	 */
	GoodsCategory getGoodsCategoryById(String id);
	
	/**
	 * @Description 根据商品分类名称、商品分类描述综合查询商品分类信息<br>
	 * 
	 * @param goodsCategory 商品分类对象
	 * @return 商品分类集合
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月12日
	 * @see 
	 */
	List<GoodsCategory> getGoodsCategoryByKeyWord(GoodsCategory goodsCategory);
	
	/**
	 * @Description 根据商品分类级别取商品分类信息<br>
	 * 
	 * @param level分类级别
	 * @return 商品分类集合
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月12日
	 * @see 
	 */
	List<GoodsCategory> getGoodsCategoryByLevel(Integer level);
	
	/**
	 * @Description 根据商品分类父ID取商品子分类集合<br>
	 * 
	 * @param parentId 父分类Id
	 * @return 商品分类集合
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月12日
	 * @see 
	 */
	List<GoodsCategory> getGoodsCategoryByParentId(String parentId);
	
	/**
	 * @Description 获取所有的商品分类<br>
	 * 
	 * @return 所有商品集合
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月12日
	 * @see 
	 */
	List<GoodsCategory> getAllGoodsCategory();
	
	/**
	 * @Description 判断该商品分类是否是叶子节点<br>
	 * 
	 * @param categoryId 分类id
	 * @return true:是 false:否
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年4月18日
	 * @see 
	 */
	Boolean isLeaf(String categoryId);
	
	/**
     * @Description 根据店铺id获取该店铺商品一级分类<br>
     * 
     * @param 店铺id
     * @return 商品分类集合
     * @author yangfan 373188993@qq.com
     * @date 2016年4月12日
     * @see 
     */
    List<GoodsCategory> selectCategoryByShopId(String shopId);
    
    
    /**
     * @Method: selectParentIdByGoodsId
     * @Description 根据商品id查找其一级分类id
     * @param goodsId
     * @return 
     * @author liuziyu liuziyuwri@foxmail.com
     * @date 2016年7月27日
     * @see 
     */
    String selectParentIdByGoodsId(String goodsId);
}
